/*
 * Logout.java
 *
 * Questo esempio mostra come utilizzare le sessioni per autenticare un utente
 *
 */
package it.univaq.iw.jweb;

import it.univaq.iw.jweb.data.DataAccess;
import it.univaq.iw.jweb.utils.SecurityHelpers;
import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;

/**
 *
 * @author Ingegneria del Web
 * @version
 */
public class Logout extends HttpServlet {

    private DataAccess da;

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);

        da = DataAccess.getInstance();
    }

    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        HttpSession s = SecurityHelpers.checkSession(request);

        if (s == null) {

            response.sendRedirect("home");

        } else {

            String email = s.getAttribute("email").toString();
            
            if (!da.curriculumCompletoByMail(email)) { /* se il curriculum non è stato completato elimino l'inserimento parziale */
                da.eliminaCurriculum(s.getAttribute("email").toString());
            }
            s.invalidate();
            response.sendRedirect("home");
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}
